XmlRepresentationHelper Class Reference
[VST Implementation Helper Classes]

Helper for XML Representation creation. More...

#include <vstrepresentation.h>

Public Member Functions

 XmlRepresentationHelper (RepresentationInfo &info, FIDString companyName, FIDString pluginName, TUID &pluginUID, IBStream *stream)
virtual ~XmlRepresentationHelper ()
bool startPage (FIDString name, int32 unitID=-1)
 Starts a Page before adding a Cell.
bool endPage ()
 Ends a Page before opening a new one.
bool startCell ()
 Starts a Cell before adding a Layer.
bool endCell ()
 Ends a Cell when no more layer needed.
bool startEndCell ()
 Creates an empty cell (alignment for example).
bool startLayer (int32 type, int32 id, FIDString _function=0, FIDString style=0)
 Starts a layer for a given type (Vst::LayerType), a parameter id, optionally a function (Vst::AttributesFunction) and a style (Vst::AttributesStyle).
bool endLayer ()
 Ends a layer before adding new one.
bool startEndLayer (int32 type, int32 id, FIDString _function=0, FIDString style=0)
 Same than startLayer except that the layer will be ended automatically (no need to call endLayer).
bool startEndCellOneLayer (int32 type, int32 id, FIDString _function=0, FIDString style=0)
 Creates a Cell with 1 Layer and end it, could be only call after a call to startPage.
bool startLayer (Vst::ParameterInfo &info, FIDString _function=0)
 Starts a layer for a given parameter info and an optional function (Vst::AttributesFunction).
bool startEndLayer (Vst::ParameterInfo &info, FIDString _function=0)
 Same than startLayer with end created automatically.
bool startEndCellOneLayer (Vst::ParameterInfo &info, FIDString _function=0)
 Creates a Cell with 1 Layer and end it, could be only call after a call to startPage.
bool startEndCellOneLayerWithParamName (Vst::ParameterInfo &info, FIDString _function=0)
 Creates a Cell with 1 Layer (with name) and end it, could be only call after a call to startPage.

Protected Types

enum  {
  kInRepresentation = 0, kInPage, kInCell, kInLayer,
  kInTitleDisplay, kInName
}

Protected Member Functions

bool startLayer (int32 type, int32 id, FIDString _function, FIDString style, bool ended)
bool startLayer (Vst::ParameterInfo &info, FIDString _function, bool ended)
bool startEndTitleDisplay (Vst::ParameterInfo &info)
bool checkState (int32 newState)

Protected Attributes

IBStreamer * streamer
int32 state

Detailed Description

Helper for XML Representation creation.

Here an example of how to use this helper:

// here the parameter ids used by this example 
enum {
   kGain = 129,
   kSize,
   kCutoff,
   kResonance,
   kMaster,
   kEnable1,
   kEnable2,
   kFrequency1,
   kFrequency2,
   kGain1,
   kGain2,
};

//------------------------------------------------------------------------
tresult PLUGIN_API MyPlugInController::getXmlRepresentationStream (Vst::RepresentationInfo& info, IBStream* stream)
{
   String name (info.name);
   if (name == GENERIC_8_CELLS)
   {
      Vst::XmlRepresentationHelper helper (info, "My Company Name", "My Product Name", gPlugProcessorClassID, stream);

      helper.startPage ("Main Page");
      helper.startEndCellOneLayer (Vst::LayerType::kKnob, kGain);
      helper.startEndCellOneLayer (Vst::LayerType::kKnob, kSize);
      helper.startEndCellOneLayer (Vst::LayerType::kKnob, kMaster);
      helper.startEndCell (); // empty cell
      helper.startEndCellOneLayer (Vst::LayerType::kKnob, kCutoff);
      helper.startEndCellOneLayer (Vst::LayerType::kKnob, kResonance);
      helper.startEndCell (); // empty cell
      helper.startEndCell (); // empty cell
      helper.endPage ();

      helper.startPage ("Page 2");
      helper.startEndCellOneLayer (Vst::LayerType::kSwitch, kEnable1);
      helper.startEndCellOneLayer (Vst::LayerType::kKnob, kFrequency1);
      helper.startEndCellOneLayer (Vst::LayerType::kKnob, kGain1);
      helper.startEndCell (); // empty
      helper.startEndCellOneLayer (Vst::LayerType::kSwitch, kEnable2);
      helper.startEndCellOneLayer (Vst::LayerType::kKnob, kFrequency2);
      helper.startEndCellOneLayer (Vst::LayerType::kKnob, kGain2);
      helper.startEndCell (); // empty
      helper.endPage ();

      return kResultTrue;
   }
   return kResultFalse;
}

Member Enumeration Documentation

anonymous enum [protected]
Enumerator:
kInRepresentation 
kInPage 
kInCell 
kInLayer 
kInTitleDisplay 
kInName 

Constructor & Destructor Documentation

XmlRepresentationHelper ( Vst::RepresentationInfo info,
FIDString  companyName,
FIDString  pluginName,
TUID pluginUID,
IBStream stream 
)
~XmlRepresentationHelper (  )  [virtual]

Member Function Documentation

bool startPage ( FIDString  name,
int32  unitID = -1 
)

Starts a Page before adding a Cell.

bool endPage (  ) 

Ends a Page before opening a new one.

bool startCell (  ) 

Starts a Cell before adding a Layer.

bool endCell (  ) 

Ends a Cell when no more layer needed.

bool startEndCell (  ) 

Creates an empty cell (alignment for example).

bool startLayer ( int32  type,
int32  id,
FIDString  _function = 0,
FIDString  style = 0 
)

Starts a layer for a given type (Vst::LayerType), a parameter id, optionally a function (Vst::AttributesFunction) and a style (Vst::AttributesStyle).

bool endLayer (  ) 

Ends a layer before adding new one.

bool startEndLayer ( int32  type,
int32  id,
FIDString  _function = 0,
FIDString  style = 0 
)

Same than startLayer except that the layer will be ended automatically (no need to call endLayer).

bool startEndCellOneLayer ( int32  type,
int32  id,
FIDString  _function = 0,
FIDString  style = 0 
)

Creates a Cell with 1 Layer and end it, could be only call after a call to startPage.

bool startLayer ( Vst::ParameterInfo info,
FIDString  _function = 0 
)

Starts a layer for a given parameter info and an optional function (Vst::AttributesFunction).

bool startEndLayer ( Vst::ParameterInfo info,
FIDString  _function = 0 
)

Same than startLayer with end created automatically.

bool startEndCellOneLayer ( Vst::ParameterInfo info,
FIDString  _function = 0 
)

Creates a Cell with 1 Layer and end it, could be only call after a call to startPage.

bool startEndCellOneLayerWithParamName ( Vst::ParameterInfo info,
FIDString  _function = 0 
)

Creates a Cell with 1 Layer (with name) and end it, could be only call after a call to startPage.

bool startLayer ( int32  type,
int32  id,
FIDString  _function,
FIDString  style,
bool  ended 
) [protected]
bool startLayer ( Vst::ParameterInfo info,
FIDString  _function,
bool  ended 
) [protected]
bool startEndTitleDisplay ( Vst::ParameterInfo info  )  [protected]
bool checkState ( int32  newState  )  [protected]

Field Documentation

IBStreamer* streamer [protected]
int32 state [protected]
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines
Empty

Copyright ©2013 Steinberg Media Technologies GmbH. All Rights Reserved.